﻿namespace Sai.Core.Rules
{
	using Sai.Core.Introspection;

	/// <summary>
	/// Rule comparing at the assembly level, feeding differences to IAssemblyDifference object.
	/// </summary>
    public interface IAssemblyRule
	{
		/// <summary>
		/// Validation for this rule.
		/// </summary>
		/// <param name="first">The older assembly.</param>
		/// <param name="second">The newer assembly.</param>
		/// <param name="assemblyDifference">The assembly differences.</param>
        void Validate(IntrospectedAssembly first, IntrospectedAssembly second, IAssemblyDifference assemblyDifference);
	}
}
